
Rajinder Singh
Deep Learning Researcher

ईजीस्पाइडर एक शक्तिशाली विजुअल वेब डेटा निकालने वाला टूल है जो किसी भी व्यक्ति को कोड लिखे बिना ब्राउजर ऑटोमेशन कार्य डिज़ाइन करने और चलाने की अनुमति देता है। इसका अद्वितीय फ्लोचार्ट आधारित इंटरफेस गैर-प्रोग्रामर के लिए उपलब्ध है जबकि विकासकर्ताओं के लिए उन्नत क्षमताएं भी हैं।
कैपसॉल्वर ईजीस्पाइडर ऑटोमेशन अनुभव को पूरा करता है जो कैपचा समाधान के साथ बिना किसी बाधा के काम करता है। जबकि ईजीस्पाइडर कई कैपचा अनुमान विधियों का समर्थन करता है, कैपसॉल्वर के एआई-आधारित समाधान के साथ एकीकरण रीकैपचा, क्लाउडफ़ेयर टर्नस्टाइल और अन्य कैपचा चुनौतियों के तेज और विश्वसनीय बाधा दूर करने की गारंटी देता है।
ईजीस्पाइडर एक मुफ्त, ओपन-सोर्स विजुअल वेब क्रॉलर और ब्राउजर ऑटोमेशन टूल है। पारंपरिक स्क्रैपिंग पुस्तकालयों के विपरीत जो कोडिंग ज्ञान की आवश्यकता होती है, ईजीस्पाइडर आपको वेब तत्वों पर क्लिक करके कार्य डिज़ाइन करने की अनुमति देता है।
ईजीस्पाइडर तीन मूलभूत सिद्धांतों पर काम करता है:
| विशेषता | विवरण |
|---|---|
| अनंत लूप नेस्टिंग | जटिल पेजिनेशन और बहु-स्तरीय डेटा निकालने का प्रबंधन करें |
| शर्ती ब्रांचिंग | पृष्ठ के सामग्री पर आधारित निर्णय बिंदु बनाएं |
| ब्रेक बयान | फ्लोचार्ट में कहीं भी लूप बंद करें |
| नियमित अभिव्यक्ति | पैटर्न मैचिंग के माध्यम से डेटा निकालें |
| ओसीआर स्वीकृति | छवियों और स्क्रीनशॉट से पाठ निकालें |
| प्रॉक्सी समर्थन | आईपी और कनेक्शन टनल के साथ आईपी बदलें |
कैपसॉल्वर विभिन्न कैपचा चुनौतियों के बाधा दूर करने के लिए एआई-आधारित समाधान प्रदान करने वाली एक नेतृत्वकारी कैपचा समाधान सेवा है। विभिन्न कैपचा प्रकारों के समर्थन और बिजली जैसी तेज उत्तर समय के साथ, कैपसॉल्वर स्वचालित वर्कफ़्लो में बिना किसी बाधा के एकीकृत हो जाता है।
जबकि ईजीस्पाइडर में निर्मित कैपचा समर्थन होता है, कैपसॉल्वर के साथ एकीकरण कई लाभ प्रदान करता है:
EasySpider_windows_x64.zip लिए 64-बिट विंडोजEasySpider_windows_x86.zip लिए 32-बिट विंडोजEasySpider_MacOS.dmg लिए मैकओएसEasySpider_Linux_x64.tar.gz लिए लिनक्सEasySpider.exe (विंडोज) या उपयुक्त एक्सीक्यूटेबल चलाएंनोट: आंतरिक प्रक्रिया संचार के लिए पोर्ट 8084 उपलब्ध सुनिश्चित करें।
अगर आप कैपसॉल्वर हेल्पर स्क्रिप्ट का उपयोग करने की योजना बना रहे हैं:
pip install requests
यहां पायथन वर्कफ़्लो के लिए एक पुन: उपयोग करने योग्य कैपसॉल्वर उपयोगिता वर्ग है:
import requests
import time
from typing import Optional
from dataclasses import dataclass
CAPSOLVER_API_KEY = 'आपका कैपसॉल्वर एपी एस की'
@dataclass
class TaskResult:
status: str
solution: Optional[dict] = None
error_description: Optional[str] = None
class CapSolverService:
def __init__(self, api_key: str = CAPSOLVER_API_KEY):
self.api_key = api_key
self.base_url = 'https://api.capsolver.com'
def create_task(self, task_data: dict) -> str:
response = requests.post(
f'{self.base_url}/createTask',
json={
'clientKey': self.api_key,
'task': task_data
}
)
data = response.json()
if data.get('errorId', 0) != 0:
raise Exception(f"कैपसॉल्वर त्रुटि: {data.get('errorDescription')}")
return data['taskId']
def get_task_result(self, task_id: str, max_attempts: int = 60) -> TaskResult:
for _ in range(max_attempts):
time.sleep(2)
response = requests.post(
f'{self.base_url}/getTaskResult',
json={
'clientKey': self.api_key,
'taskId': task_id
}
)
data = response.json()
if data.get('status') == 'ready':
return TaskResult(
status='ready',
solution=data.get('solution')
)
if data.get('status') == 'failed':
raise Exception(f"कार्य विफल: {data.get('errorDescription')}")
raise Exception('कैपचा समाधान के लिए समय सीमा समाप्त')
def solve_recaptcha_v2(self, website_url: str, website_key: str) -> str:
task_id = self.create_task({
'type': 'ReCaptchaV2TaskProxyLess',
'websiteURL': website_url,
'websiteKey': website_key
})
result = self.get_task_result(task_id)
return result.solution.get('gRecaptchaResponse', '') if result.solution else ''
def solve_turnstile(
self,
website_url: str,
website_key: str,
action: Optional[str] = None,
cdata: Optional[str] = None
) -> str:
task_data = {
'type': 'AntiTurnstileTaskProxyLess',
'websiteURL': website_url,
'websiteKey': website_key
}
if action or cdata:
metadata = {}
if action:
metadata['action'] = action
if cdata:
metadata['cdata'] = cdata
task_data['metadata'] = metadata
task_id = self.create_task(task_data)
result = self.get_task_result(task_id)
return result.solution.get('token', '') if result.solution else ''
# वैश्विक उदाहरण
capsolver = CapSolverService()
ईजीस्पाइडर कई तरीकों से कैपसॉल्वर के साथ एकीकृत हो सकता है। अपने उपयोग मामले के लिए सबसे उपयुक्त विधि चुनें।
ईजीस्पाइडर अपने वर्कफ़्लो में कस्टम जावास्क्रिप्ट निष्पादित करने के समर्थन करता है। यह सबसे सीधा एकीकरण विधि है।
चरण 1: ईजीस्पाइडर में एक नया कार्य बनाएं और कैपचा-सुरक्षित पृष्ठ पर जाएं
चरण 2: निम्न जावास्क्रिप्ट के साथ एक "कस्टम कार्य" नोड जोड़ें:
// रीकैपचा तत्व से साइटकी निकालें
var siteKey = document.querySelector('.g-recaptcha').getAttribute('data-sitekey');
var pageUrl = window.location.href;
// अगले चरण के लिए संग्रहित करें
window.captchaSiteKey = siteKey;
window.captchaPageUrl = pageUrl;
// डेबगिंग के लिए लॉग
console.log('साइट की:', siteKey);
console.log('पृष्ठ URL:', pageUrl);
चरण 3: ईजीस्पाइडर के बाहरी प्रणाली कॉल विशेषता का उपयोग करके पायथन स्क्रिप्ट कॉल करें जो कैपचा हल करता है और टोकन वापस करता है
चरण 4: एक अन्य "कस्टम कार्य" जोड़ें जो टोकन इंजेक्ट करता है:
// बाहरी स्क्रिप्ट से पास किया जाएगा
var token = arguments[0]; // ईजीस्पाइडर से पास किया गया
// उत्तर टेक्स्ट क्षेत्र दृश्यमान करें और टोकन सेट करें
document.getElementById('g-recaptcha-response').style.display = 'block';
document.getElementById('g-recaptcha-response').value = token;
// अगर कोई कॉलबैक फ़ंक्शन है, तो इसे चलाएं
if (typeof ___grecaptcha_cfg !== 'undefined') {
var clients = ___grecaptcha_cfg.clients;
if (clients) {
Object.keys(clients).forEach(function(key) {
var client = clients[key];
if (client.callback) {
client.callback(token);
}
});
}
}
इसे प्रॉक्सी रहित टर्नस्टाइल वर्कफ़्लो के साथ ईजीस्पाइडर के द्वारा विजुअल नोड्स के साथ बनाया गया है। इसमें प्रॉक्सी की आवश्यकता नहीं होती है।
चरण 1: एक नया कार्य बनाएं और अपने टर्नस्टाइल-सुरक्षित पृष्ठ पर जाएं।
चरण 2: तीन कस्टम कार्य नोड्स जोड़ें (कोड मोड = जावास्क्रिप्ट) के लिए टर्नस्टाइल मेटाडेटा लें:
// नोड शीर्षक: TS_SiteKey
return document.querySelector('.cf-turnstile')?.getAttribute('data-sitekey') || '';
// नोड शीर्षक: TS_Action (वैकल्पिक)
return document.querySelector('.cf-turnstile')?.getAttribute('data-action') || '';
// नोड शीर्षक: TS_Cdata (वैकल्पिक)
return document.querySelector('.cf-turnstile')?.getAttribute('data-cdata') || '';
चरण 3: कैपसॉल्वर के साथ टर्नस्टाइल हल करने के लिए एक एक्सीक्यूट कमांड नोड जोड़ें:
python captcha_solver.py "{{current_url}}" "Field[\"TS_SiteKey\"]" "turnstile" "Field[\"TS_Action\"]" "Field[\"TS_Cdata\"]"
इस नोड का नाम टोकन रखें ताकि आप इसके आउटपुट को Field["Token"] के रूप में संदर्भित कर सकें।
चरण 4: एक कस्टम कार्य नोड (जावास्क्रिप्ट) जोड़ें जो टोकन इंजेक्ट करता है:
var token = `Field["Token"]`;
var inputs = document.querySelectorAll('input[name="cf-turnstile-response"], input[name="turnstile-response"]');
inputs.forEach(function(el) {
el.value = token;
el.dispatchEvent(new Event('input', { bubbles: true }));
el.dispatchEvent(new Event('change', { bubbles: true }));
});
चरण 5: फॉर्म सबमिट बटन पर क्लिक करें (या जावास्क्रिप्ट सबमिट का उपयोग करें)।
नोट: प्रॉक्सी रहित टर्नस्टाइल कई साइटों पर काम करता है, लेकिन कुछ डेप्लॉयमेंट टोकन को सॉल्वर आ
सभी कोड अपरिवर्तित रहेगा, केवल टेक्स्ट के अन्य भाग अनुवादित किए गए हैं:
सभी कोड अपरिवर्तित रहेगा, केवल टेक्स्ट के अन्य भाग अनुवादित किए गए हैं:
Rust में वेब स्क्रैपिंग के स्केलेबल आर्किटेक्चर सीखें, reqwest, scraper, असिंक्रोनस स्क्रैपिंग, हेडलेस ब्राउज़र स्क्रैपिंग, प्रॉक्सी रोटेशन, और संगत CAPTCHA का निपटारा।

CapSolver के साथ RoxyBrowser के एकीकरण करें ताकि ब्राउज़र के कार्यों को स्वचालित किया जा सके और reCAPTCHA, Turnstile और अन्य CAPTCHAs को बायपास किया जा सके।
